Programy: SWM_MENU.EXE - pro pouziti s DBF ~~~~~~~~~~~~ BMENU.EXE - pro pouziti s BTrieve ~~~~~~~~~ (chraneny mod procesoru) BMENUR.EXE - pro pouziti s BTrieve, pro pocitace ~~~~~~~~~ se mene nez 4 MB operacni pameti (realny mod) WMENU.EXE - pro Win32, ve verzi viz další ~~~~~~~~~ soubory Pouzivane soubory: SWM_MENU.CFG ulozene hesla, vytvari se sam SWMORAVA.MNU vzorove priklady SWM_MENU.DOC dokumentace SWM_MENU.TPL priklad vzoru pro agendy systemu NETIS Verze 1.aj od 10.01.2006 Verze 1.9p od 12.01.2006 Verze 1.8e od 31.08.2004 Verze 1.73 od 26.01.2004 Verze 1.71 od 25.11.2003 Verze 1.6a od 01.08.2003 Verze 1.69 od 11.06.2003 Verze 1.64 od 05.02.2003 Verze 1.63 od 21.01.2003 Verze 1.60 od 02.10.2002 Verze 1.4q od 19.10.2001 Verze 1.43 od 04.09.2001 Verze 1.40 od 06.06.2000 Verze 1.3f od 26.04.2000 Verze 1.39 od 14.02.2000 Verze 1.38 od 24.01.2000 Verze 1.37 od 08.01.2001 Verze 1.36 od 20.12.2000 Verze 1.35 od 13.12.2000 Verze 2.0c od 22.09.1999 Verze 2.0b od 23.06.1999 Verze 2.0a od 04.06.1999 Verze 2.09 od 10.05.1999 Verze 2.08 od 03.09.1998 Verze 2.07 od 02.09.1998 Verze 2.06 od 18.08.1998 Verze 2.05 od 04.08.1998 Verze 2.04 od 09.12.1997 Verze 2.03 od 12.08.1997 Verze 2.02 od 15.07.1997 Verze 2.01 od 30.06.1997 Verze 2.00 od 05.06.1997 Verze 1.10 od 02.06.1997 Verze 1.09 od 12.07.1995 Verze 1.08 od 18.04.1995 Verze 1.07 od 06.03.1995 Verze 1.06 od 20.02.1995 Verze 1.05 od 07.05.1994 Verze 1.04 od 26.04.1994 Verze 1.03 od 28.12.1993 Verze 1.02 od 15.12.1993 Verze 1.01 od 24.11.1993 Verze 1.00 rok 1993 Datum Verze Zmeny ======================================================================= 1.aj 10.01.2007 - opravena chyba občasného zobrazování hlášek o neexistenci některých funkcí 1.9p 12.01.2006 - ve verzi pro Windows doplněno čištění paměti (zásobníků) vždy po přepnutí na novou firmu nebo nového uživatele 1.8e 31.08.2004 - pokud je startována DOSovská úloha, Windows okno je minimalizováno a po ukončení úlohy zase vráceno do původního stavu 1.73 26.01.2004 - interní úpravy v programovém kódu - optimalizace 1.71 25.11.2003 - umožněn řídit start menu maximalizovaně či normalizovaně ve Windows - ve Windows odstavena hláška o nutnosti Novellovských supervizorovských práv pro nadefinování hesla pro klávesu1.6a 01.08.2003 - opravena chyba vznikající při kompilaci DOSovské verze programu - nekompatibilní direktiva prekladace 1.69 11.06.2003 - WMENU.EXE - všechny změny se týkají pouze verze pro Windows - opraveno chování menu, jeho rušení a zašednutí - opravena IDSC chyba při nahrávání aplikační DLL knihovny 1.64 05.02.2003 - WMENU.EXE, BMENU.EXE - opravena chyba - havárie programu po výběru položky menu 1.63 21.01.2003 - WMENU.EXE volání funkcí z linkovaných DLL změněno ze statické vazby na dynamickou 1.60 02.10.2002 - WMENU.EXE sestaveno s Alaska Xbase++ 1.8 - WMENU.EXE reaguje na parametr v sekcich [MenuNNN] Dll = Funkce_z_přilinkované_DLL(parametry) kde Funkce_z_přilinkované_DLL je jmeno funkce a v parametrech lze pouzivat substitucni konstanty _HW_ _F_ZNACKA_ _JMENO_ Napr.: DLL = uc(_HW_,_F_ZNACKA_,_JMENO_) Pokud jsou v sekci parametry Exec a současně i Dll, pak v DOSe se je Dll ignorováno a ve Windows má Dll přednost. Z toho plyne, že v sekci může být např.: [Menu010] Exec = uc.bat _HW_ _F_ZNACKA_ _JMENO_ DLL = uc(_HW_,_F_ZNACKA_,_JMENO_) a pak v DOSe bude volán UC.BAT a ve Windows bude volana funkce UC( parametry ...) a volání UC.BAT bude ignorováno 1.4q 19.10.2001 - WMENU.EXE sestaveno s Alaska Xbase++ 1.7 - zrusena GETSYS.DLL a SWNETWAR.DLL - pridana SWMNETW.DLL a ASRDBC10.DLL - nová kompletní sada potřebných DLL knihoven je: DBFDBE.DLL ASRDBC10.DLL DELDBE.DLL NTXDBE.DLL SDFDBE.DLL SOM.DLL SWMNETW.DLL SWMORAVA.DLL XbtBase1.dll XBTBase2.dll XBTNETW.DLL XPPNAT.DLL XPPRT1.DLL XPPUI1.DLL 1.43 04.09.2001 - WMENU.EXE pro platformy Win32 potřebuje následující DLL soubory: DBFDBE.DLL DELDBE.DLL GETSYS.DLL NTXDBE.DLL SDFDBE.DLL SOM.DLL SWMORAVA.DLL SWNETWAR.DLL XbtBase1.DLL XbtBase2.DLL XBTNETW.DLL XPPNAT.DLL XPPRT1.DLL XPPUI1.DLL - nové nastavení v sekci [Main] a sekcích [MenuNNN], obe jen pro Win32: WCekatKonec - zda po spuštění programu z menu bude menu čekat až je tento program ukončen (hodnota 1) nebo zda umožní současně spouštět i jiné programy (hodnota 0) Implicitne == 0 WNaPozadi - zda bude program spušten (hodnota 1) na pozadí nebo (hodnota 0) v popředí Implicitne == 0 1.40 06.06.2000 - totální změna celého programu, který je již pevně integrován do celého systému XENON, nepotřebuje již datové soubory DBF či BTrieve data si bere ze zakódovaného souboru, který vždy znovu vygeneruje při jakékoliv změně uživatelských práv 1.3f 26.04.2000 - uprava kodovani MMM/MNU a TPL souboru na standard pouzity v systemu XENON 1.39 14.02.2000 - Nove verze knihovny - nove funkce pro instalaci ZP Zp_Konfig(), ZP_ValUcDa() a ZpCfg(), v aplikaci MENU to nema zadny vyznam 1.38 24.01.2000 - Nove verze knihovny - parametr lUpdateNoChange dan zpet na implicitni hodnotu .T. (byla .F.), v aplikaci MENU to nema zadny vyznam 08.01.2001 1.37 - do FRM,BRW souboru pridan parametr lFrmUpdateNoChange, v aplikaci MENU to nema zadny vyznam 20.12.2000 1.36 - zmeny uvnitr programu pri zapise do "Session" logu - omezeni pri zadavani univerzalniho hesla kdy je uz povinne zadat i jmeno - odstranen neesteticky vypis o nacitani souboru 11.12.2000 1.35 - pridan novy parametr do sekci [MenuNN] Esc Tento parametr funguje podobne jako Reconnect nebo NovaFirma, tedy nema hodnotu, a zpusobuje ukonceni menu. Prikaz, ktery je uveden v parametru Exec se predtim vykona. - optimalizovano nacitani prav z BTrievovskych tabulek - opravena chyba pri nahazovani semaforu pri nastavenem parametru Alone = 1, Vyvolavalo chybove hlaseni: "V adresari, kde ma byt umisten semafor neni mozno vytvaret soubory. Nejpravdepodobneji nemate v tomto adresari potrebna pristupova prava. (Create, Write, Delete) Obratte se, prosim, na sveho systemoveho spravce." 22.09.99 2.0c - pridan parametr do sekce [Main] Alone = 1|0 implicitne == 0 Tento parametr je urcen zejmena pro Windows 95 pro pripad, kdy uzivatel udela pokus o druhe spusteni menu (v dalsim okne). Pokud je Alone == 1, menu se pokusi nahodit semafor. Pokud se mu pokus nepovede, vyhlasi chybu s textem o nemoznosti spousteni druhe kopie na jednom pocitaci. 23.06.99 2.0b - zmena verze adresare provoz z 1.00 na 1.10 04.06.99 2.0a - pro pocitace s dostatkem operacni pameti, tim se mysli 8 MB a vice pridano BMENU.EXE vyuzivajici chraneny mod procesoru. Toto menu je pak spustitelne v DOSovskem okne Windows 9x - nahrada volani rutin nekompatibilnich s chranenym modem (protect) procesoru za rutiny kompatibilni - pro BTrieve byly pridany dva nove parametry do obecne sekce [Main] a to: TFlagOn ... prikazovy radek k "nahozeni" transakcniho attributu TFlagOff ... prikazovy radek ke zruseni transakcniho attributu Tuto zmenu si vynutila pripadna refres datoveho slovniku vyuzivaneho v BTrieve. 10.05.99 2.09 - opravena chyba vyskytujici se BMENU (pro BTrieve). Chyba spocivala v tom, ze pokud z menu spousteny EXE soubor provadel reset BTrievovske enginy (coz vsechny EXE systemu SWM-XENON delaji), ztracela se po navratu do menu moznost pristupu do BTrievovskych souboru. Proto bylo v teto verzi zarazeno pred kazdym spustenim neceho z menu uzavreni vsech souboru, reset BTrieve a nove otevreni souboru. Tim se chyby, vznikajici s resetu BTrieve vyresily. 03.09.98 2.08 - funkce AgPristup byla zpristupnena i v BMENU, kde byla rozsirena o dalsi parametr, takze jeji syntaxe je: AgPristup( cAgenda, [lHlas] ) - doplnena reakce na BTrievovska pristupova prava (tabulky PRAVA, PRAV_JM atp.) 02.09.98 2.07 - pridano EXE pro BTrieve - BMENU.EXE - zatim nefungije funkce AgPristup a nereaguje se na pristupova prava v BTrieve 18.08.98 2.06 - opravena chyba pri nastavovasni kodovani cestiny na obrazovku - chyba vznikala v pripadech nastaveni Latin2 na obrazovku, kdy po ukonceni programu spusteneho z menu se chybne nahral obrazovkovy font v kodu bratri Kamenickych 04.08.98 2.05 - pridana urcita detekce na spravnost indexu HESLA.NTX - aby nedochazelo k prebirani prav nekoho jineho v pripade poskozeneho indexu - pridan parametr "CeskyKod" do sekce [Main], ktery urcuje kodovani cestiny na obrazovku. Tento parametr byl pridan z duvodu prechodu na vnejsi kod cestiny LATIN2. Povolene hodnoty jsou 0 = Kamenik (implicitne) 1 = Latin2 Pokud tento parametr neni zadan nebo pokud je zadan nejaka cokoli jineho nez povolene hodnoty, vezme se hodnota implicitni (Kamenik) 09.12.97 2.04 - pridana moznost zadavat titulek menu makrem - pridan parametr "NovaFirma", ktery funguje velmi podobne jako Reconnect, jen s tim rozdilem, ze navic nacte novou firmu, pak uz pokracuje jako reconnect. Parametr Reconnect byl pridan ve verzi 2.00 12.08.97 2.03 - pridan druhy radkovy parametr volani programu SWM_MENU.EXE a to "cHw", kterym je mozno zadat HW konfiguracni soubor, jehoz jmeno bude nahrazovat vzor _HW_ v Exec parametrech jednotlivych polozek menu. Vzor _HW_ muze byt zadavan podobne, jako _JMENO_ nebo _F_ZNACKA_. 15.07.97 2.02 - zadavani hesla pri prechodu ze screen-saveru do menu rozsireno o moznost zadat prihlasovaci heslo z Novellu (2.xx,.3.11, 3.12) - zapis do log souboru rozsiren o prihlasovaci jmeno Novellu 30.06.97 2.01 - jen pracovni verze - nebyla distribuovana - pridan parametr "SSHeslo", ktery zpusobuje nutnost zadani hesla pri prechodu ze screen-saveru do menu. Heslo se bere z databaze HESLA.DBF systemu NETIS, vyplyvajici skutecnost je, ze ma smysl pouze pri lNetsoft==1. 05.06.97 2.00 - jen pracovni verze - nebyla distribuovana - klicove slovo "esc" pro ukoncovani menu bylo rozsireno o parametr Errorlevel, takze napr. Exec = esc 200 znamena, ze menu se ukonci s navratovou chybovou urovni (errolevel) 200. Tento errorlevel je pak mozno testovat pomoci vyrazu "IF ERRORLEVEL" nebo "IF NOT ERRORLEVEL" v BAT souborech. Napr. [Menu10] Prompt = Novy login Exec = esc 100 [Menu20] Prompt = Konec Exec = esc 255 S tim pak souvisit spousteci BAT soubor: @echo off :hlava SWM_MENU swmorava.mnu if errorlevel 255 goto konec if errorlevel 100 goto login :login f:\login\login goto hlava :konec - pridan parametr "Reconnect", ktery zpusobi kompletni prekresleni menu. Jeho umisteni je v sekci [Menu--], nenasleduje zadne rovnitko ani hodnota. Bud uveden je nebo neni. V pripade, ze je lNetsoft nastaven na "1", pak se znovu provede cele prihlaseni do menu (Jmeno, Heslo) potrebne pro agendy NETIS. Tento parametr je obzvlaste potrebny napriklad po novem prihlaseni do site (LOGIN, LOGON) s prevzetim Novellovskeho jmena (JmenoNovell = 1). !! Upozorneni: Tento parametr nema zadny ucinek (je ignorovan) ve vnorenem menu (submenu), ucinek ma pouze v menu nejvyssi urovne. - v TPL souborech musi byt povinne na zacatku uveden parametr NetMenuTemplate Podle tohoto parametru je TPL soubor rozpoznavan. - pro registrovane uzivatele lze aktivovat zakodovani MNU a TPL souboru. Za timto ucelem existuje program ENC.COM. Postup prace se zakovanymi soubory je nasledujici: 1. Vytvori se normalni MNU a TPL souboru pomoci text.editoru. 2. Prelozi se pomoci ENC.COM, help se vypise pri spusteni ENC.COM bez parametru. 3. Prelozene soubory se umisti na ta mista, kde je SWM_MENU.EXE ocekava. - rozsirena moznost zadavani do promenne Exec sekci [MenuXX] hodnota NUL, coz znamena, ze se nebude delat vubec nic, rizeni se vrati zpet do menu. Mozno vyuzit napr. pri nastavenem parametru "Reconnect" - pridana hlaska v pripade, ze mate nastaven parametr "JmenoNovell == 1" (tzn., ze prebirate jmeno z Novellu) a sit neni pristupna - pri nastavenem parametru "lNetsoft == 1" zmenena logika v tom smyslu, ze pokud se nepodari prihlaseni do NETISu, bude v menu pokracovano jako by parametr "lNetsoft == 0" - pridan parametr "AltDiskNetsoft", ktery ma vyznam tehdy, pokud adresar "\NETSOFT\PUBLIC" nebyl nalezen na disku "DiskNetsoft". Ma to vyznam v pripadech, kdy chcete menu provozovat sitove i lokalne, v pripade nepritimnosti sitoveho adresare se alternativne muze brat lokalni adresar. Parametr je ucinny pouze v sekci [Main] - opravena chyba - program vubec nereagoval na nastaveni parametru "DiskNetsoft" a vyzadoval adresar "\NETSOFT\PUBLIC" na disku aktualnim - pridan parametr "Audit". Muze byt nastaven na validni jmeno souboru a pak do nej budou zapisovany vsechna prihlaseni a odhlaseni z menu. Parametr musi byt umisten v sekci [Main]. 02.06.97 1.10 - jen pracovni verze - nebyla distribuovana - pridan parametr "Template", je relevantni pouze v pripade "lNetsoft == 1". Obsahuje jmeno souboru se vzorem menu pro agendy systemu NETIS. Priklad tohoto menu je souboru SWM_MENU.TPL. Struktura je velmi podobna strukture popisu menu jen s tim rozdilem, ze v nazvech sekci neni "[Menu01]", "[Menu02]" ci [Menu99], ale zkratky jednotlivych agend, tedy "[BA]", "[UC]" atp. Ucel tohoto souboru spociva v tom, ze program z nej pak vygeneruje menu dle pristupovych prav k jednotlivym agendam. Implicitne (pokud parametr Template neni uveden) se prirazuze "SWM_MENU.TPL". Ostatni polozky menu (ty, ktere nejsou soucasti systemu NETIS) se popisuji starym zpusobem. 12.7.95 1.09 - pridany parametry: "lNetsoft" - zda bude vstup firmy z UZIVATELe, jmena a hesla "JmenoNovell" - zda se bude jmeno prebirat z prihlaseni do Novellu (Netware 2.2 a 3.11, 3.12) Ma smysl jen pri lNetsoft=1 a zpusobi to, ze nebude vstup jmena ani hesla. "FZnacka" - nastaveni firmy. Ma smysl jen pri lNetsoft=1 a zpusobi, ze nebude vstup firmy z UZIVATELe.DBF. "InitBat" - spusteni programu (BATu) pred menu "ExitBat" - spusteni rpogramu (BATu) po ukonceni menu (treba odhlaseni ze site apod.) - parametr "Exec" lze zadavat take makrem nebo, pokud neni zadan makrem, lze do nej zaradit klicova slova _JMENO_ a _F_ZNACKA_. Klicova slova musi but uvedena velkymi pismeny. - lze pouzivat funkci "AgPristup()", funkce je urcena pro pouziti v parametru Prava a pri lNetsoft=1 18.4.95 1.08 - pridana moznost helpu na kombinaci klaves + proto pridany dalsi parametry: HlpOkno - sekce Main AdrHlp - sekce Main HlpFile - sekce Main, sekce Menuxx Hlptopic MENU_- sekce Main, sekce Menuxx AdrPdf - sekce Main TiskPdf - sekce Main 06.03.95 1.07 - doplnen na pozadi napis "NETSOFT" 20.2.95 1.06 - pridan parametr "Prava" do sekci polozek Menu - odstranena chyba vznikajici pri nezadane sekci "[Main]" 7.5.94 1.05 - optimalizovano na pamet (zruseny MEMVAR) - vytvoreny NETMENU.EXE pro pouziti na siti bez prihlaseni 26.4.94 1.04 - doplnena moznost urceni souradnic i u submenu 28.12.93 1.03 - doplneni mazani klavesnicoveho bufferu po kazde uloze spoustene z menu viz relikty zjistene po LOGIN.EXE - obsah techto reliktu zavisel na login-scriptu (Novell 3.11, ing.Zeuner) - doplneni parametru menu: "Umb" - moznost pouziti pamet UMB pro swapovani - uvedeni implicitnich hodnot Ems, Xms a Umb do souladu s priruckou 15.12.93 1.02 - oprava rozbalovani viceurovnovych submenu - oprava swapovani - pokud je zadan neexistujici adresar v promenne TEMP, swap-soubor se udela v adresari aktualnim (drive program hlasil chybu) - doplneni parametru menu: "lHodiny" - moznost zobrazovat cas, "lWait" - moznost navratu do menu az po zmacknuti klavesy "lWaitMsg" - moznost soucasne s cekanim na stisk klavesy zobrazit zpravu "Press any key to continue", "nTimeScreenSaver" - moznost vyuzit setrice obrazovky po uplynuti zadane doby 24.11.93 1.01 - pridana moznost submenu - pridana moznost ukonceni klavesou Esc po zadani hesla - napsana dokumentace 1.00 Vytvoreno